package jpa.entitys.promis.construction;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the GOODS_RECEIVED_NOTES database table.
 * 
 */
@Entity
@Table(name="GOODS_RECEIVED_NOTES")
@NamedQueries({
    @NamedQuery(name = "GoodsReceivedNote.findAll", query = " SELECT c FROM GoodsReceivedNote c "),
    @NamedQuery(name = "GoodsReceivedNote.findById", query = " SELECT c FROM GoodsReceivedNote c WHERE c.id = :Id ")    
})
public class GoodsReceivedNote extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private GoodsReceivedNotePK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="AD_AMOUNT", precision=16, scale=2)
	private BigDecimal adAmount;

	@Column(name="AP_INSTALLMENT_AMOUNT", precision=16, scale=2)
	private BigDecimal apInstallmentAmount;

	@Column(name="APPROVED_BY", length=30)
	private String approvedBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="APPROVED_ON")
	private Date approvedOn;

	@Column(name="CHECK_BY", length=50)
	private String checkBy;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(length=3)
	private String currency;

	@Column(name="DEPARTMENT_CODE", length=30)
	private String departmentCode;

	@Column(name="DISCOUNT_AMOUNT", precision=22)
	private BigDecimal discountAmount;

	@Column(name="DISCOUNT_PCT", precision=22)
	private BigDecimal discountPct;

	@Column(name="DN_BEF_AMOUNT", precision=22)
	private BigDecimal dnBefAmount;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="DN_DATE")
	private Date dnDate;

	@Column(name="DN_NO", length=30)
	private String dnNo;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="DN_RECEIVED_DATE")
	private Date dnReceivedDate;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="DUE_DATE")
	private Date dueDate;

	@Column(name="EXCHANGE_RATE", precision=12, scale=8)
	private BigDecimal exchangeRate;

	@Column(name="GD_AMOUNT", precision=16, scale=2)
	private BigDecimal gdAmount;

	@Column(name="GOODS_RECEIVED_NOTES_ID", length=100)
	private String goodsReceivedNotesId;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="GRN_DATE")
	private Date grnDate;

	@Column(name="INSTALLMENT_AMOUNT", precision=16, scale=2)
	private BigDecimal installmentAmount;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="INSTALLMENT_DATE")
	private Date installmentDate;

	@Column(name="INSTALLMENT_DESCRIPTION", length=100)
	private String installmentDescription;

	@Column(name="INSTALLMENT_NO", precision=2)
	private BigDecimal installmentNo;

	@Column(name="INSTALLMENT_PERCENT", precision=12, scale=8)
	private BigDecimal installmentPercent;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(name="LINK_FILE_ID", precision=22)
	private BigDecimal linkFileId;

	@Column(name="NUM_DAYS", precision=3)
	private BigDecimal numDays;

	@Column(name="OTHER_DEDUCT_AMOUNT", precision=22)
	private BigDecimal otherDeductAmount;

	@Column(name="OTHER_DEDUCT_PERCENT", precision=11, scale=8)
	private BigDecimal otherDeductPercent;

	@Column(name="PO_REVISION_NO", precision=2)
	private BigDecimal poRevisionNo;

	@Column(name="PREPARED_BY", length=30)
	private String preparedBy;

	@Column(name="REF_PO_NO", precision=6)
	private BigDecimal refPoNo;

	@Column(name="REF_PO_SERIES", length=4)
	private String refPoSeries;

	@Column(name="REF_PO_TYPE", length=2)
	private String refPoType;

	@Column(length=300)
	private String remarks;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="REQUIRED_CHEQUE_DATE")
	private Date requiredChequeDate;

	@Column(length=1)
	private String status;

	@Column(name="STORE_ID", length=3)
	private String storeId;

	@Column(name="SUPPLIER_CODE", length=30)
	private String supplierCode;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SUPPLIER_DO_DATE")
	private Date supplierDoDate;

	@Column(name="SUPPLIER_DO_NO", length=30)
	private String supplierDoNo;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SUPPLIER_REF_DATE")
	private Date supplierRefDate;

	@Column(name="SUPPLIER_REF_NO", length=30)
	private String supplierRefNo;

	@Column(name="SYNC_CREATEDBY", length=100)
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY", length=100)
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO", length=100)
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING", length=1)
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC", length=1)
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY", length=100)
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="TAX_INVOICE_DATE")
	private Date taxInvoiceDate;

	@Column(name="TAX_INVOICE_NO", length=30)
	private String taxInvoiceNo;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="TAX_INVOICE_RECEIVED_DATE")
	private Date taxInvoiceReceivedDate;

	@Column(name="TAX_RATE", precision=5, scale=2)
	private BigDecimal taxRate;

	@Column(name="TAX_TYPE", length=2)
	private String taxType;

	@Column(precision=22)
	private BigDecimal total;

	@Column(name="VAT_AMOUNT", precision=16, scale=2)
	private BigDecimal vatAmount;

	@Column(length=50)
	private String vehicle;

	@Column(name="WHT_AMOUNT", precision=16, scale=2)
	private BigDecimal whtAmount;

	@Column(name="WHT_CODE", length=2)
	private String whtCode;

	@Column(name="WHT_PERCENT", precision=5, scale=2)
	private BigDecimal whtPercent;
	
	@Column(name="SYNC_IS_CANCEL")
	private String syncIsCancel;
	
	@Column(name="IS_INTERFACE")
	private String isInterface;

	public String getIsInterface() {
		return isInterface;
	}

	public void setIsInterface(String isInterface) {
		this.isInterface = isInterface;
	}
	
	/**
	 * @return the syncIsCancel
	 */
	public String getSyncIsCancel() {
		return syncIsCancel;
	}

	/**
	 * @param syncIsCancel the syncIsCancel to set
	 */
	public void setSyncIsCancel(String syncIsCancel) {
		this.syncIsCancel = syncIsCancel;
	}

	public GoodsReceivedNote() {
    }

	public GoodsReceivedNotePK getId() {
		return this.id;
	}

	public void setId(GoodsReceivedNotePK id) {
		this.id = id;
	}
	
	public BigDecimal getAdAmount() {
		return this.adAmount;
	}

	public void setAdAmount(BigDecimal adAmount) {
		this.adAmount = adAmount;
	}

	public BigDecimal getApInstallmentAmount() {
		return this.apInstallmentAmount;
	}

	public void setApInstallmentAmount(BigDecimal apInstallmentAmount) {
		this.apInstallmentAmount = apInstallmentAmount;
	}

	public String getApprovedBy() {
		return this.approvedBy;
	}

	public void setApprovedBy(String approvedBy) {
		this.approvedBy = approvedBy;
	}

	public Date getApprovedOn() {
		return this.approvedOn;
	}

	public void setApprovedOn(Date approvedOn) {
		this.approvedOn = approvedOn;
	}

	public String getCheckBy() {
		return this.checkBy;
	}

	public void setCheckBy(String checkBy) {
		this.checkBy = checkBy;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public String getCurrency() {
		return this.currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public String getDepartmentCode() {
		return this.departmentCode;
	}

	public void setDepartmentCode(String departmentCode) {
		this.departmentCode = departmentCode;
	}

	public BigDecimal getDiscountAmount() {
		return this.discountAmount;
	}

	public void setDiscountAmount(BigDecimal discountAmount) {
		this.discountAmount = discountAmount;
	}

	public BigDecimal getDiscountPct() {
		return this.discountPct;
	}

	public void setDiscountPct(BigDecimal discountPct) {
		this.discountPct = discountPct;
	}

	public BigDecimal getDnBefAmount() {
		return this.dnBefAmount;
	}

	public void setDnBefAmount(BigDecimal dnBefAmount) {
		this.dnBefAmount = dnBefAmount;
	}

	public Date getDnDate() {
		return this.dnDate;
	}

	public void setDnDate(Date dnDate) {
		this.dnDate = dnDate;
	}

	public String getDnNo() {
		return this.dnNo;
	}

	public void setDnNo(String dnNo) {
		this.dnNo = dnNo;
	}

	public Date getDnReceivedDate() {
		return this.dnReceivedDate;
	}

	public void setDnReceivedDate(Date dnReceivedDate) {
		this.dnReceivedDate = dnReceivedDate;
	}

	public Date getDueDate() {
		return this.dueDate;
	}

	public void setDueDate(Date dueDate) {
		this.dueDate = dueDate;
	}

	public BigDecimal getExchangeRate() {
		return this.exchangeRate;
	}

	public void setExchangeRate(BigDecimal exchangeRate) {
		this.exchangeRate = exchangeRate;
	}

	public BigDecimal getGdAmount() {
		return this.gdAmount;
	}

	public void setGdAmount(BigDecimal gdAmount) {
		this.gdAmount = gdAmount;
	}

	public String getGoodsReceivedNotesId() {
		return this.goodsReceivedNotesId;
	}

	public void setGoodsReceivedNotesId(String goodsReceivedNotesId) {
		this.goodsReceivedNotesId = goodsReceivedNotesId;
	}

	public Date getGrnDate() {
		return this.grnDate;
	}

	public void setGrnDate(Date grnDate) {
		this.grnDate = grnDate;
	}

	public BigDecimal getInstallmentAmount() {
		return this.installmentAmount;
	}

	public void setInstallmentAmount(BigDecimal installmentAmount) {
		this.installmentAmount = installmentAmount;
	}

	public Date getInstallmentDate() {
		return this.installmentDate;
	}

	public void setInstallmentDate(Date installmentDate) {
		this.installmentDate = installmentDate;
	}

	public String getInstallmentDescription() {
		return this.installmentDescription;
	}

	public void setInstallmentDescription(String installmentDescription) {
		this.installmentDescription = installmentDescription;
	}

	public BigDecimal getInstallmentNo() {
		return this.installmentNo;
	}

	public void setInstallmentNo(BigDecimal installmentNo) {
		this.installmentNo = installmentNo;
	}

	public BigDecimal getInstallmentPercent() {
		return this.installmentPercent;
	}

	public void setInstallmentPercent(BigDecimal installmentPercent) {
		this.installmentPercent = installmentPercent;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public BigDecimal getLinkFileId() {
		return this.linkFileId;
	}

	public void setLinkFileId(BigDecimal linkFileId) {
		this.linkFileId = linkFileId;
	}

	public BigDecimal getNumDays() {
		return this.numDays;
	}

	public void setNumDays(BigDecimal numDays) {
		this.numDays = numDays;
	}

	public BigDecimal getOtherDeductAmount() {
		return this.otherDeductAmount;
	}

	public void setOtherDeductAmount(BigDecimal otherDeductAmount) {
		this.otherDeductAmount = otherDeductAmount;
	}

	public BigDecimal getOtherDeductPercent() {
		return this.otherDeductPercent;
	}

	public void setOtherDeductPercent(BigDecimal otherDeductPercent) {
		this.otherDeductPercent = otherDeductPercent;
	}

	public BigDecimal getPoRevisionNo() {
		return this.poRevisionNo;
	}

	public void setPoRevisionNo(BigDecimal poRevisionNo) {
		this.poRevisionNo = poRevisionNo;
	}

	public String getPreparedBy() {
		return this.preparedBy;
	}

	public void setPreparedBy(String preparedBy) {
		this.preparedBy = preparedBy;
	}

	public BigDecimal getRefPoNo() {
		return this.refPoNo;
	}

	public void setRefPoNo(BigDecimal refPoNo) {
		this.refPoNo = refPoNo;
	}

	public String getRefPoSeries() {
		return this.refPoSeries;
	}

	public void setRefPoSeries(String refPoSeries) {
		this.refPoSeries = refPoSeries;
	}

	public String getRefPoType() {
		return this.refPoType;
	}

	public void setRefPoType(String refPoType) {
		this.refPoType = refPoType;
	}

	public String getRemarks() {
		return this.remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public Date getRequiredChequeDate() {
		return this.requiredChequeDate;
	}

	public void setRequiredChequeDate(Date requiredChequeDate) {
		this.requiredChequeDate = requiredChequeDate;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getStoreId() {
		return this.storeId;
	}

	public void setStoreId(String storeId) {
		this.storeId = storeId;
	}

	public String getSupplierCode() {
		return this.supplierCode;
	}

	public void setSupplierCode(String supplierCode) {
		this.supplierCode = supplierCode;
	}

	public Date getSupplierDoDate() {
		return this.supplierDoDate;
	}

	public void setSupplierDoDate(Date supplierDoDate) {
		this.supplierDoDate = supplierDoDate;
	}

	public String getSupplierDoNo() {
		return this.supplierDoNo;
	}

	public void setSupplierDoNo(String supplierDoNo) {
		this.supplierDoNo = supplierDoNo;
	}

	public Date getSupplierRefDate() {
		return this.supplierRefDate;
	}

	public void setSupplierRefDate(Date supplierRefDate) {
		this.supplierRefDate = supplierRefDate;
	}

	public String getSupplierRefNo() {
		return this.supplierRefNo;
	}

	public void setSupplierRefNo(String supplierRefNo) {
		this.supplierRefNo = supplierRefNo;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public Date getTaxInvoiceDate() {
		return this.taxInvoiceDate;
	}

	public void setTaxInvoiceDate(Date taxInvoiceDate) {
		this.taxInvoiceDate = taxInvoiceDate;
	}

	public String getTaxInvoiceNo() {
		return this.taxInvoiceNo;
	}

	public void setTaxInvoiceNo(String taxInvoiceNo) {
		this.taxInvoiceNo = taxInvoiceNo;
	}

	public Date getTaxInvoiceReceivedDate() {
		return this.taxInvoiceReceivedDate;
	}

	public void setTaxInvoiceReceivedDate(Date taxInvoiceReceivedDate) {
		this.taxInvoiceReceivedDate = taxInvoiceReceivedDate;
	}

	public BigDecimal getTaxRate() {
		return this.taxRate;
	}

	public void setTaxRate(BigDecimal taxRate) {
		this.taxRate = taxRate;
	}

	public String getTaxType() {
		return this.taxType;
	}

	public void setTaxType(String taxType) {
		this.taxType = taxType;
	}

	public BigDecimal getTotal() {
		return this.total;
	}

	public void setTotal(BigDecimal total) {
		this.total = total;
	}

	public BigDecimal getVatAmount() {
		return this.vatAmount;
	}

	public void setVatAmount(BigDecimal vatAmount) {
		this.vatAmount = vatAmount;
	}

	public String getVehicle() {
		return this.vehicle;
	}

	public void setVehicle(String vehicle) {
		this.vehicle = vehicle;
	}

	public BigDecimal getWhtAmount() {
		return this.whtAmount;
	}

	public void setWhtAmount(BigDecimal whtAmount) {
		this.whtAmount = whtAmount;
	}

	public String getWhtCode() {
		return this.whtCode;
	}

	public void setWhtCode(String whtCode) {
		this.whtCode = whtCode;
	}

	public BigDecimal getWhtPercent() {
		return this.whtPercent;
	}

	public void setWhtPercent(BigDecimal whtPercent) {
		this.whtPercent = whtPercent;
	}

}